package com.think.teaching.model;

import java.util.ArrayList;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.Map;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lowagie.text.List;

/**
 * 实验记录表
 */
public class ExpStat extends BaseModel<ExpStat> {
	
	public final static Integer EXP_START = 1;
	
	public final static Integer EXP_DURING = 2;
	
	public final static Integer EXP_ENDED = 3;
	
	@TableId(type = IdType.AUTO)
	private Integer id;

	private Integer expId;

	private Integer userId;

	private String learnContent;

	private Integer status;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date startTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date endTime;
	
	@TableField(exist = false)
	private Map<String, Object> report;
	@TableField(exist = false)
	private ArrayList<Map<String, Object>>  steps;
	private Long timeUsed;

	private String addId;

	private Integer score;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getExpId() {
		return expId;
	}

	public void setExpId(Integer expId) {
		this.expId = expId;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getLearnContent() {
		return learnContent;
	}

	public void setLearnContent(String learnContent) {
		this.learnContent = learnContent;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Long getTimeUsed() {
		return timeUsed;
	}

	public void setTimeUsed(Long timeUsed) {
		this.timeUsed = timeUsed;
	}

	public String getAddId() {
		return addId;
	}

	public void setAddId(String addId) {
		this.addId = addId;
	}

	public Integer getScore() {
		return score;
	}

	public void setScore(Integer score) {
		this.score = score;
	}

	public Map<String, Object> getReport() {
		return report;
	}

	public void setReport(Map<String, Object> report) {
		this.report = report;
	}

	public ArrayList<Map<String, Object>> getSteps() {
		return steps;
	}

	public void setSteps(ArrayList<Map<String, Object>> steps) {
		this.steps = steps;
	}
	
	
}
